import { ipcMain, app, BrowserWindow } from 'electron'

export default function () {
  ipcMain.on('toggle-mini', (event, params) => {
    if (params.value) {
      global.mainWindow.hide()
    } else {
      global.mainWindow.show()
    }
  })
  // 获取打印机列表
  ipcMain.on('getPrinterList', async () => {
    const list = await global.mainWindow.webContents.getPrinters();
    global.mainWindow.webContents.send('getPrinterList', list)
  })
  // 打印
  ipcMain.on('open-printer', (event,name) => {
    const win = new BrowserWindow({
      width: 0,
      height: 0,   
      frame: false,
    })
    const options = {
      silent: true,
      deviceName: name,
      pageRanges: [{
        from: 0,
        to: 1
      }]
    };
    win.webContents.print(options, (success, errorType) => {
    })
    // win.close();
  })
  // 最小化窗口
  ipcMain.on('window-min', () => {
    global.mainWindow.minimize()
    global.mainWindow.setResizable(true)
  })

  ipcMain.on('window-login', () => {
    global.mainWindow.setMinimumSize(400, 500)
    global.mainWindow.center()
    global.mainWindow.setResizable(false)
  })

  ipcMain.on('window-password', () => {
    global.mainWindow.setSize(1366, 768)
    global.mainWindow.center()
    global.mainWindow.setResizable(true)
  })

  ipcMain.on('window-max', () => {
    if (global.mainWindow.isMaximized()) {
      global.mainWindow.restore()
    } else {
      global.mainWindow.maximize()
    }
    global.mainWindow.setMinimumSize(1600, 900)
    global.mainWindow.setMinimumSize(1200, 800)
    global.mainWindow.center()
  })

  ipcMain.on('window-hide', () => {
    global.mainWindow.hide()
  })

  ipcMain.on('window-show', () => {
    global.mainWindow.show()
  })

  ipcMain.on('window-refresh', () => {
    global.mainWindow.reload();
  })

  // 关闭当前窗口
  ipcMain.on('window-close', () => {
    // global.mainWindow.close()
    app.quit()
  })
  // 关闭所有窗口
  // ipcMain.on('window-all-close', () => {
  //   // // const wins = BrowserWindow.getAllWindows()
  //   // app.quit()
  //   // // for (let i = 0; i < wins.length; i++) {
  //   // //   wins[i].close()
  //   // // }
  // })
  //更新工作站之后退出
  ipcMain.on('update-station-cb', () => {
    global.mainWindow.is_Close = true
    app.exit()
  })

  // 所有窗口都将立即被关闭，而不询问用户，而且 before-quit 和 will-quit 事件也不会被触发。
  ipcMain.on('app-exit', () => {
    app.exit()
  })

  ipcMain.on('quit-and-open', (event, data) => {
    global.downloadFile = data
    app.quit()
  })
}

